NexusPi Git Node
lib/microReticulum/src/Link.h copilot/add-rtnode-configuration-options (9529fa8a) Text, 10.50 KB
Tff7b72#Tff7b72pragma once
Tff7b72#Tff7b72include T8b949e"Destination.h"
Tff7b72#Tff7b72include T8b949e"Type.h"
Tff7b72#Tff7b72include T8b949e<memory>
Tff7b72#Tff7b72include T8b949e<cassert>
Te6edf3namespace Te6edf3RNS Tb4b4b4{
Te6edf3class Te6edf3ResourceRequestTb4b4b4;
Te6edf3class Te6edf3ResourceResponseTb4b4b4;
Te6edf3class Te6edf3RequestReceiptTb4b4b4;
Te6edf3class Te6edf3LinkTb4b4b4;
Te6edf3class Te6edf3LinkDataTb4b4b4;
Te6edf3class Te6edf3RequestReceiptDataTb4b4b4;
Te6edf3class Te6edf3ResourceTb4b4b4;
Te6edf3class Te6edf3PacketTb4b4b4;
Te6edf3class Te6edf3DestinationTb4b4b4;
Te6edf3class Te6edf3ResourceAdvertisementTb4b4b4;
Te6edf3class Te6edf3PacketReceiptTb4b4b4;
Te6edf3class Te6edf3ResourceRequest Tb4b4b4{
Te6edf3publicTff7b72:
Tffa657double Te6edf3_requested_at Tff7b72= T79c0ff0.0Tb4b4b4;
Te6edf3Bytes Te6edf3_path_hashTb4b4b4;
Te6edf3Bytes Te6edf3_request_dataTb4b4b4;
Tb4b4b4}Tb4b4b4;
Te6edf3class Te6edf3ResourceResponse Tb4b4b4{
Te6edf3Bytes Te6edf3request_idTb4b4b4;
Te6edf3Bytes Te6edf3response_dataTb4b4b4;
Tb4b4b4}Tb4b4b4;
T8b949e/*
An instance of this class is returned by the ``request`` method of ``RNS.Link``
instances. It should never be instantiated manually. It provides methods to
check status, response time and response data when the request concludes.
*/
Te6edf3class Te6edf3RequestReceipt Tb4b4b4{
Te6edf3publicTff7b72:
Te6edf3class Te6edf3Callbacks Tb4b4b4{
Te6edf3publicTff7b72:
Te6edf3using Te6edf3response Tff7b72= Tffa657voidTb4b4b4(Tff7b72*Tb4b4b4)Tb4b4b4(Tff7b72const Te6edf3RequestReceiptTff7b72& Te6edf3packet_receiptTb4b4b4)Tb4b4b4;
Te6edf3using Te6edf3failed Tff7b72= Tffa657voidTb4b4b4(Tff7b72*Tb4b4b4)Tb4b4b4(Tff7b72const Te6edf3RequestReceiptTff7b72& Te6edf3packet_receiptTb4b4b4)Tb4b4b4;
Te6edf3using Te6edf3progress Tff7b72= Tffa657voidTb4b4b4(Tff7b72*Tb4b4b4)Tb4b4b4(Tff7b72const Te6edf3RequestReceiptTff7b72& Te6edf3packet_receiptTb4b4b4)Tb4b4b4;
Te6edf3publicTff7b72:
Te6edf3response Te6edf3_response Tff7b72= Tffa657nullptrTb4b4b4;
Te6edf3failed Te6edf3_failed Tff7b72= Tffa657nullptrTb4b4b4;
Te6edf3progress Te6edf3_progress Tff7b72= Tffa657nullptrTb4b4b4;
Te6edf3friend Te6edf3class Te6edf3RequestReceiptTb4b4b4;
Tb4b4b4}Tb4b4b4;
Te6edf3publicTff7b72:
Te6edf3RequestReceiptTb4b4b4(Te6edf3TypeTff7b72:Tff7b72:Te6edf3NoneConstructor Te6edf3noneTb4b4b4) Tb4b4b4{Tb4b4b4}
Te6edf3RequestReceiptTb4b4b4(Tff7b72const Te6edf3RequestReceiptTff7b72& Te6edf3request_receiptTb4b4b4) Tff7b72: Te6edf3_objectTb4b4b4(Te6edf3request_receiptTb4b4b4.Te6edf3_objectTb4b4b4) Tb4b4b4{Tb4b4b4}
T8b949e//RequestReceipt(const Link& link, const PacketReceipt& packet_receipt = {Type::NONE}, const Resource& resource = {Type::NONE}, RequestReceipt::Callbacks::response response_callback = nullptr, RequestReceipt::Callbacks::failed failed_callback = nullptr, RequestReceipt::Callbacks::progress progress_callback = nullptr, double timeout = 0.0, int request_size = 0);
Te6edf3RequestReceiptTb4b4b4(Tff7b72const Te6edf3LinkTff7b72& Te6edf3linkTb4b4b4, Tff7b72const Te6edf3PacketReceiptTff7b72& Te6edf3packet_receiptTb4b4b4, Tff7b72const Te6edf3ResourceTff7b72& Te6edf3resourceTb4b4b4, Te6edf3RequestReceiptTff7b72:Tff7b72:Te6edf3CallbacksTff7b72:Tff7b72:Te6edf3response Te6edf3response_callback Tff7b72= Tffa657nullptrTb4b4b4, Te6edf3RequestReceiptTff7b72:Tff7b72:Te6edf3CallbacksTff7b72:Tff7b72:Te6edf3failed Te6edf3failed_callback Tff7b72= Tffa657nullptrTb4b4b4, Te6edf3RequestReceiptTff7b72:Tff7b72:Te6edf3CallbacksTff7b72:Tff7b72:Te6edf3progress Te6edf3progress_callback Tff7b72= Tffa657nullptrTb4b4b4, Tffa657double Te6edf3timeout Tff7b72= T79c0ff0.0Tb4b4b4, Tffa657int Te6edf3request_size Tff7b72= T79c0ff0Tb4b4b4)Tb4b4b4;
Tff7b72inline Te6edf3RequestReceiptTff7b72& Te6edf3operator Tff7b72= Tb4b4b4(Tff7b72const Te6edf3RequestReceiptTff7b72& Te6edf3packet_receiptTb4b4b4) Tb4b4b4{
Te6edf3_object Tff7b72= Te6edf3packet_receiptTb4b4b4.Te6edf3_objectTb4b4b4;
Tff7b72return Tff7b72*Te6edf3thisTb4b4b4;
Tb4b4b4}
Tff7b72inline Te6edf3operator Tffa657boolTb4b4b4(Tb4b4b4) Tff7b72const Tb4b4b4{
Tff7b72return Te6edf3_objectTb4b4b4.Te6edf3getTb4b4b4(Tb4b4b4) Tff7b72!Tff7b72= Tffa657nullptrTb4b4b4;
Tb4b4b4}
Tff7b72inline Tffa657bool Te6edf3operator Tff7b72< Tb4b4b4(Tff7b72const Te6edf3RequestReceiptTff7b72& Te6edf3packet_receiptTb4b4b4) Tff7b72const Tb4b4b4{
Tff7b72return Te6edf3_objectTb4b4b4.Te6edf3getTb4b4b4(Tb4b4b4) Tff7b72< Te6edf3packet_receiptTb4b4b4.Te6edf3_objectTb4b4b4.Te6edf3getTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3publicTff7b72:
Tffa657void Te6edf3request_resource_concludedTb4b4b4(Tff7b72const Te6edf3ResourceTff7b72& Te6edf3resourceTb4b4b4)Tb4b4b4;
Tffa657void Td2a8ff__response_timeout_jobTb4b4b4(Tb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffrequest_timed_outTb4b4b4(Tff7b72const Te6edf3PacketReceiptTff7b72& Te6edf3packet_receiptTb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffresponse_resource_progressTb4b4b4(Tff7b72const Te6edf3ResourceTff7b72& Te6edf3resourceTb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffresponse_receivedTb4b4b4(Tff7b72const Te6edf3BytesTff7b72& Te6edf3responseTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3BytesTff7b72& Td2a8ffget_request_idTb4b4b4(Tb4b4b4) Tff7b72constTb4b4b4;
Te6edf3TypeTff7b72:Tff7b72:Te6edf3RequestReceiptTff7b72:Tff7b72:Te6edf3status Td2a8ffget_statusTb4b4b4(Tb4b4b4) Tff7b72constTb4b4b4;
Tffa657float Td2a8ffget_progressTb4b4b4(Tb4b4b4) Tff7b72constTb4b4b4;
Tff7b72const Te6edf3Bytes Td2a8ffget_responseTb4b4b4(Tb4b4b4) Tff7b72constTb4b4b4;
Tffa657double Td2a8ffget_response_timeTb4b4b4(Tb4b4b4) Tff7b72constTb4b4b4;
Te6edf3stdTff7b72:Tff7b72:Te6edf3string Td2a8fftoStringTb4b4b4(Tb4b4b4) Tff7b72constTb4b4b4;
T8b949e// getters
Tff7b72const Te6edf3BytesTff7b72& Td2a8ffhashTb4b4b4(Tb4b4b4) Tff7b72constTb4b4b4;
Tff7b72const Te6edf3BytesTff7b72& Td2a8ffrequest_idTb4b4b4(Tb4b4b4) Tff7b72constTb4b4b4;
Tffa657size_t Td2a8ffresponse_transfer_sizeTb4b4b4(Tb4b4b4) Tff7b72constTb4b4b4;
T8b949e// setters
Tffa657void Td2a8ffresponse_sizeTb4b4b4(Tffa657size_t Te6edf3sizeTb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffresponse_transfer_sizeTb4b4b4(Tffa657size_t Te6edf3sizeTb4b4b4)Tb4b4b4;
Te6edf3privateTff7b72:
Te6edf3stdTff7b72:Tff7b72:Te6edf3shared_ptrTff7b72<Te6edf3RequestReceiptDataTff7b72> Te6edf3_objectTb4b4b4;
Tb4b4b4}Tb4b4b4;
T8b949e/*
This class is used to establish and manage links to other peers. When a
link instance is created, Reticulum will attempt to establish verified
and encrypted connectivity with the specified destination.
:param destination: A :ref:`RNS.Destination<api-destination>` instance which to establish a link to.
:param established_callback: An optional function or method with the signature *callback(link)* to be called when the link has been established.
:param closed_callback: An optional function or method with the signature *callback(link)* to be called when the link is closed.
*/
Te6edf3class Te6edf3Link Tb4b4b4{
Te6edf3publicTff7b72:
Te6edf3class Te6edf3Callbacks Tb4b4b4{
Te6edf3publicTff7b72:
Te6edf3using Te6edf3established Tff7b72= Tffa657voidTb4b4b4(Tff7b72*Tb4b4b4)Tb4b4b4(Te6edf3LinkTff7b72& Te6edf3linkTb4b4b4)Tb4b4b4;
Te6edf3using Te6edf3closed Tff7b72= Tffa657voidTb4b4b4(Tff7b72*Tb4b4b4)Tb4b4b4(Te6edf3LinkTff7b72& Te6edf3linkTb4b4b4)Tb4b4b4;
Te6edf3using Te6edf3packet Tff7b72= Tffa657voidTb4b4b4(Tff7b72*Tb4b4b4)Tb4b4b4(Tff7b72const Te6edf3BytesTff7b72& Te6edf3plaintextTb4b4b4, Tff7b72const Te6edf3PacketTff7b72& Te6edf3packetTb4b4b4)Tb4b4b4;
Te6edf3using Te6edf3remote_identified Tff7b72= Tffa657voidTb4b4b4(Tff7b72*Tb4b4b4)Tb4b4b4(Tff7b72const Te6edf3LinkTff7b72& Te6edf3linkTb4b4b4, Tff7b72const Te6edf3IdentityTff7b72& Te6edf3remote_identityTb4b4b4)Tb4b4b4;
Te6edf3using Te6edf3resource Tff7b72= Tffa657voidTb4b4b4(Tff7b72*Tb4b4b4)Tb4b4b4(Tff7b72const Te6edf3ResourceAdvertisementTff7b72& Te6edf3resource_advertisementTb4b4b4)Tb4b4b4;
Te6edf3using Te6edf3resource_started Tff7b72= Tffa657voidTb4b4b4(Tff7b72*Tb4b4b4)Tb4b4b4(Tff7b72const Te6edf3ResourceTff7b72& Te6edf3resourceTb4b4b4)Tb4b4b4;
Te6edf3using Te6edf3resource_concluded Tff7b72= Tffa657voidTb4b4b4(Tff7b72*Tb4b4b4)Tb4b4b4(Tff7b72const Te6edf3ResourceTff7b72& Te6edf3resourceTb4b4b4)Tb4b4b4;
Te6edf3publicTff7b72:
Te6edf3established Te6edf3_established Tff7b72= Tffa657nullptrTb4b4b4;
Te6edf3closed Te6edf3_closed Tff7b72= Tffa657nullptrTb4b4b4;
Te6edf3packet Te6edf3_packet Tff7b72= Tffa657nullptrTb4b4b4;
Te6edf3remote_identified Te6edf3_remote_identified Tff7b72= Tffa657nullptrTb4b4b4;
Te6edf3resource Te6edf3_resource Tff7b72= Tffa657nullptrTb4b4b4;
Te6edf3resource_started Te6edf3_resource_started Tff7b72= Tffa657nullptrTb4b4b4;
Te6edf3resource_concluded Te6edf3_resource_concluded Tff7b72= Tffa657nullptrTb4b4b4;
Te6edf3friend Te6edf3class Te6edf3LinkTb4b4b4;
Tb4b4b4}Tb4b4b4;
Te6edf3publicTff7b72:
Tff7b72static Tffa657uint8_t Te6edf3resource_strategiesTb4b4b4;
Tff7b72static Te6edf3stdTff7b72:Tff7b72:Te6edf3setTff7b72<Te6edf3RNSTff7b72:Tff7b72:Te6edf3TypeTff7b72:Tff7b72:Te6edf3LinkTff7b72:Tff7b72:Te6edf3link_modeTff7b72> Te6edf3ENABLED_MODESTb4b4b4;
Tff7b72static Te6edf3RNSTff7b72:Tff7b72:Te6edf3TypeTff7b72:Tff7b72:Te6edf3LinkTff7b72:Tff7b72:Te6edf3link_mode Te6edf3MODE_DEFAULTTb4b4b4;
Te6edf3publicTff7b72:
Te6edf3LinkTb4b4b4(Te6edf3TypeTff7b72:Tff7b72:Te6edf3NoneConstructor Te6edf3noneTb4b4b4) Tb4b4b4{
Te6edf3MEMTb4b4b4(Ta5d6ff"Ta5d6ffLink NONE object createdTa5d6ff"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3LinkTb4b4b4(Tff7b72const Te6edf3LinkTff7b72& Te6edf3linkTb4b4b4) Tff7b72: Te6edf3_objectTb4b4b4(Te6edf3linkTb4b4b4.Te6edf3_objectTb4b4b4) Tb4b4b4{
Te6edf3MEMTb4b4b4(Ta5d6ff"Ta5d6ffLink object copy createdTa5d6ff"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3LinkTb4b4b4(Tff7b72const Te6edf3DestinationTff7b72& Te6edf3destination Tff7b72= Tb4b4b4{Te6edf3TypeTff7b72:Tff7b72:Te6edf3NONETb4b4b4}Tb4b4b4, Te6edf3CallbacksTff7b72:Tff7b72:Te6edf3established Te6edf3established_callback Tff7b72= Tffa657nullptrTb4b4b4, Te6edf3CallbacksTff7b72:Tff7b72:Te6edf3closed Te6edf3closed_callback Tff7b72= Tffa657nullptrTb4b4b4, Tff7b72const Te6edf3DestinationTff7b72& Te6edf3owner Tff7b72= Tb4b4b4{Te6edf3TypeTff7b72:Tff7b72:Te6edf3NONETb4b4b4}Tb4b4b4, Tff7b72const Te6edf3BytesTff7b72& Te6edf3peer_pub_bytes Tff7b72= Tb4b4b4{Te6edf3BytesTff7b72:Tff7b72:Te6edf3NONETb4b4b4}Tb4b4b4, Tff7b72const Te6edf3BytesTff7b72& Te6edf3peer_sig_pub_bytes Tff7b72= Tb4b4b4{Te6edf3BytesTff7b72:Tff7b72:Te6edf3NONETb4b4b4}Tb4b4b4, Te6edf3RNSTff7b72:Tff7b72:Te6edf3TypeTff7b72:Tff7b72:Te6edf3LinkTff7b72:Tff7b72:Te6edf3link_mode Te6edf3mode Tff7b72= Te6edf3MODE_DEFAULTTb4b4b4)Tb4b4b4;
T8b949e//Link(const Destination& destination = {Type::NONE}, Callbacks::established established_callback = nullptr, Callbacks::closed closed_callback = nullptr, const Destination& owner = {Type::NONE}, const Bytes& peer_pub_bytes = {Bytes::NONE}, const Bytes& peer_sig_pub_bytes = {Bytes::NONE}, RNS::Type::Link::link_mode mode = MODE_DEFAULT);
Te6edf3virtual Tff7b72~Te6edf3LinkTb4b4b4(Tb4b4b4)Tb4b4b4{
Te6edf3MEMTb4b4b4(Ta5d6ff"Ta5d6ffLink object destroyedTa5d6ff"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3LinkTff7b72& Te6edf3operator Tff7b72= Tb4b4b4(Tff7b72const Te6edf3LinkTff7b72& Te6edf3linkTb4b4b4) Tb4b4b4{
Te6edf3_object Tff7b72= Te6edf3linkTb4b4b4.Te6edf3_objectTb4b4b4;
Tff7b72return Tff7b72*Te6edf3thisTb4b4b4;
Tb4b4b4}
Te6edf3operator Tffa657boolTb4b4b4(Tb4b4b4) Tff7b72const Tb4b4b4{
Tff7b72return Te6edf3_objectTb4b4b4.Te6edf3getTb4b4b4(Tb4b4b4) Tff7b72!Tff7b72= Tffa657nullptrTb4b4b4;
Tb4b4b4}
Tffa657bool Te6edf3operator Tff7b72< Tb4b4b4(Tff7b72const Te6edf3LinkTff7b72& Te6edf3linkTb4b4b4) Tff7b72const Tb4b4b4{
Tff7b72return Te6edf3_objectTb4b4b4.Te6edf3getTb4b4b4(Tb4b4b4) Tff7b72< Te6edf3linkTb4b4b4.Te6edf3_objectTb4b4b4.Te6edf3getTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3publicTff7b72:
Tff7b72static Te6edf3Bytes Te6edf3signalling_bytesTb4b4b4(Tffa657uint16_t Te6edf3mtuTb4b4b4, Te6edf3RNSTff7b72:Tff7b72:Te6edf3TypeTff7b72:Tff7b72:Te6edf3LinkTff7b72:Tff7b72:Te6edf3link_mode Te6edf3modeTb4b4b4)Tb4b4b4;
Tff7b72static Tffa657uint16_t Td2a8ffmtu_from_lr_packetTb4b4b4(Tff7b72const Te6edf3PacketTff7b72& Te6edf3packetTb4b4b4)Tb4b4b4;
Tff7b72static Tffa657uint16_t Td2a8ffmtu_from_lp_packetTb4b4b4(Tff7b72const Te6edf3PacketTff7b72& Te6edf3packetTb4b4b4)Tb4b4b4;
Tff7b72static Tffa657uint8_t Td2a8ffmode_byteTb4b4b4(Te6edf3RNSTff7b72:Tff7b72:Te6edf3TypeTff7b72:Tff7b72:Te6edf3LinkTff7b72:Tff7b72:Te6edf3link_mode Te6edf3modeTb4b4b4)Tb4b4b4;
Tff7b72static Te6edf3RNSTff7b72:Tff7b72:Te6edf3TypeTff7b72:Tff7b72:Te6edf3LinkTff7b72:Tff7b72:Te6edf3link_mode Td2a8ffmode_from_lr_packetTb4b4b4(Tff7b72const Te6edf3PacketTff7b72& Te6edf3packetTb4b4b4)Tb4b4b4;
Tff7b72static Te6edf3RNSTff7b72:Tff7b72:Te6edf3TypeTff7b72:Tff7b72:Te6edf3LinkTff7b72:Tff7b72:Te6edf3link_mode Td2a8ffmode_from_lp_packetTb4b4b4(Tff7b72const Te6edf3PacketTff7b72& Te6edf3packetTb4b4b4)Tb4b4b4;
Tff7b72static Te6edf3Bytes Td2a8fflink_id_from_lr_packetTb4b4b4(Tff7b72const Te6edf3PacketTff7b72& Te6edf3packetTb4b4b4)Tb4b4b4;
Tff7b72static Te6edf3Link Td2a8ffvalidate_requestTb4b4b4( Tff7b72const Te6edf3DestinationTff7b72& Te6edf3ownerTb4b4b4, Tff7b72const Te6edf3BytesTff7b72& Te6edf3dataTb4b4b4, Tff7b72const Te6edf3PacketTff7b72& Te6edf3packetTb4b4b4)Tb4b4b4;
Te6edf3publicTff7b72:
Tffa657void Te6edf3load_peerTb4b4b4(Tff7b72const Te6edf3BytesTff7b72& Te6edf3peer_pub_bytesTb4b4b4, Tff7b72const Te6edf3BytesTff7b72& Te6edf3peer_sig_pub_bytesTb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffset_link_idTb4b4b4(Tff7b72const Te6edf3PacketTff7b72& Te6edf3packetTb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffhandshakeTb4b4b4(Tb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffproveTb4b4b4(Tb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffprove_packetTb4b4b4(Tff7b72const Te6edf3PacketTff7b72& Te6edf3packetTb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffvalidate_proofTb4b4b4(Tff7b72const Te6edf3PacketTff7b72& Te6edf3packetTb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffidentifyTb4b4b4(Tff7b72const Te6edf3IdentityTff7b72& Te6edf3identityTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3RequestReceipt Td2a8ffrequestTb4b4b4(Tff7b72const Te6edf3BytesTff7b72& Te6edf3pathTb4b4b4, Tff7b72const Te6edf3BytesTff7b72& Te6edf3data Tff7b72= Tb4b4b4{Te6edf3BytesTff7b72:Tff7b72:Te6edf3NONETb4b4b4}Tb4b4b4, Te6edf3RequestReceiptTff7b72:Tff7b72:Te6edf3CallbacksTff7b72:Tff7b72:Te6edf3response Te6edf3response_callback Tff7b72= Tffa657nullptrTb4b4b4, Te6edf3RequestReceiptTff7b72:Tff7b72:Te6edf3CallbacksTff7b72:Tff7b72:Te6edf3failed Te6edf3failed_callback Tff7b72= Tffa657nullptrTb4b4b4, Te6edf3RequestReceiptTff7b72:Tff7b72:Te6edf3CallbacksTff7b72:Tff7b72:Te6edf3progress Te6edf3progress_callback Tff7b72= Tffa657nullptrTb4b4b4, Tffa657double Te6edf3timeout Tff7b72= T79c0ff0.0Tb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffupdate_mduTb4b4b4(Tb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffrtt_packetTb4b4b4(Tff7b72const Te6edf3PacketTff7b72& Te6edf3packetTb4b4b4)Tb4b4b4;
Tffa657float Td2a8ffget_establishment_rateTb4b4b4(Tb4b4b4)Tb4b4b4;
Tffa657uint16_t Td2a8ffget_mtuTb4b4b4(Tb4b4b4)Tb4b4b4;
Tffa657uint16_t Td2a8ffget_mduTb4b4b4(Tb4b4b4)Tb4b4b4;
Tffa657float Td2a8ffget_expected_rateTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3RNSTff7b72:Tff7b72:Te6edf3TypeTff7b72:Tff7b72:Te6edf3LinkTff7b72:Tff7b72:Te6edf3link_mode Td2a8ffget_modeTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3BytesTff7b72& Td2a8ffget_saltTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3Bytes Td2a8ffget_contextTb4b4b4(Tb4b4b4)Tb4b4b4;
Tffa657double Td2a8ffget_ageTb4b4b4(Tb4b4b4)Tb4b4b4;
Tffa657double Td2a8ffno_inbound_forTb4b4b4(Tb4b4b4)Tb4b4b4;
Tffa657double Td2a8ffno_outbound_forTb4b4b4(Tb4b4b4)Tb4b4b4;
Tffa657double Td2a8ffno_data_forTb4b4b4(Tb4b4b4)Tb4b4b4;
Tffa657double Td2a8ffinactive_forTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3IdentityTff7b72& Td2a8ffget_remote_identityTb4b4b4(Tb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffhad_outboundTb4b4b4(Tffa657bool Te6edf3is_keepalive Tff7b72= Tffa657falseTb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffteardownTb4b4b4(Tb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffteardown_packetTb4b4b4(Tff7b72const Te6edf3PacketTff7b72& Te6edf3packetTb4b4b4)Tb4b4b4;
Tffa657void Td2a8fflink_closedTb4b4b4(Tb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffstart_watchdogTb4b4b4(Tb4b4b4)Tb4b4b4;
Tffa657void Td2a8ff__watchdog_jobTb4b4b4(Tb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffsend_keepaliveTb4b4b4(Tb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffhandle_requestTb4b4b4(Tff7b72const Te6edf3BytesTff7b72& Te6edf3request_idTb4b4b4, Tff7b72const Te6edf3ResourceRequestTff7b72& Te6edf3unpacked_requestTb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffhandle_responseTb4b4b4(Tff7b72const Te6edf3BytesTff7b72& Te6edf3request_idTb4b4b4, Tff7b72const Te6edf3BytesTff7b72& Te6edf3response_dataTb4b4b4, Tffa657size_t Te6edf3response_sizeTb4b4b4, Tffa657size_t Te6edf3response_transfer_sizeTb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffrequest_resource_concludedTb4b4b4(Tff7b72const Te6edf3ResourceTff7b72& Te6edf3resourceTb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffresponse_resource_concludedTb4b4b4(Tff7b72const Te6edf3ResourceTff7b72& Te6edf3resourceTb4b4b4)Tb4b4b4;
T8b949e//z const Channel& get_channel();
Tffa657void Td2a8ffreceiveTb4b4b4(Tff7b72const Te6edf3PacketTff7b72& Te6edf3packetTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3Bytes Td2a8ffencryptTb4b4b4(Tff7b72const Te6edf3BytesTff7b72& Te6edf3plaintextTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3Bytes Td2a8ffdecryptTb4b4b4(Tff7b72const Te6edf3BytesTff7b72& Te6edf3ciphertextTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3Bytes Td2a8ffsignTb4b4b4(Tff7b72const Te6edf3BytesTff7b72& Te6edf3messageTb4b4b4)Tb4b4b4;
Tffa657bool Td2a8ffvalidateTb4b4b4(Tff7b72const Te6edf3BytesTff7b72& Te6edf3signatureTb4b4b4, Tff7b72const Te6edf3BytesTff7b72& Te6edf3messageTb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffset_link_established_callbackTb4b4b4(Te6edf3CallbacksTff7b72:Tff7b72:Te6edf3established Te6edf3callbackTb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffset_link_closed_callbackTb4b4b4(Te6edf3CallbacksTff7b72:Tff7b72:Te6edf3closed Te6edf3callbackTb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffset_packet_callbackTb4b4b4(Te6edf3CallbacksTff7b72:Tff7b72:Te6edf3packet Te6edf3callbackTb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffset_remote_identified_callbackTb4b4b4(Te6edf3CallbacksTff7b72:Tff7b72:Te6edf3remote_identified Te6edf3callbackTb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffset_resource_callbackTb4b4b4(Te6edf3CallbacksTff7b72:Tff7b72:Te6edf3resource Te6edf3callbackTb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffset_resource_started_callbackTb4b4b4(Te6edf3CallbacksTff7b72:Tff7b72:Te6edf3resource_started Te6edf3callbackTb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffset_resource_concluded_callbackTb4b4b4(Te6edf3CallbacksTff7b72:Tff7b72:Te6edf3resource_concluded Te6edf3callbackTb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffresource_concludedTb4b4b4(Tff7b72const Te6edf3ResourceTff7b72& Te6edf3resourceTb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffset_resource_strategyTb4b4b4(Te6edf3TypeTff7b72:Tff7b72:Te6edf3LinkTff7b72:Tff7b72:Te6edf3resource_strategy Te6edf3strategyTb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffregister_outgoing_resourceTb4b4b4(Tff7b72const Te6edf3ResourceTff7b72& Te6edf3resourceTb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffregister_incoming_resourceTb4b4b4(Tff7b72const Te6edf3ResourceTff7b72& Te6edf3resourceTb4b4b4)Tb4b4b4;
Tffa657bool Td2a8ffhas_incoming_resourceTb4b4b4(Tff7b72const Te6edf3ResourceTff7b72& Te6edf3resourceTb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffcancel_outgoing_resourceTb4b4b4(Tff7b72const Te6edf3ResourceTff7b72& Te6edf3resourceTb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffcancel_incoming_resourceTb4b4b4(Tff7b72const Te6edf3ResourceTff7b72& Te6edf3resourceTb4b4b4)Tb4b4b4;
Tffa657bool Td2a8ffready_for_new_resourceTb4b4b4(Tb4b4b4)Tb4b4b4;
T8b949e//void __str__();
Te6edf3stdTff7b72:Tff7b72:Te6edf3string Td2a8fftoStringTb4b4b4(Tb4b4b4) Tff7b72constTb4b4b4;
T8b949e// getters
Tffa657double Td2a8ffrttTb4b4b4(Tb4b4b4) Tff7b72constTb4b4b4;
Tff7b72const Te6edf3DestinationTff7b72& Td2a8ffdestinationTb4b4b4(Tb4b4b4) Tff7b72constTb4b4b4;
T8b949e// CBA LINK
T8b949e//const Destination& link_destination() const;
Tff7b72const Te6edf3InterfaceTff7b72& Td2a8ffattached_interfaceTb4b4b4(Tb4b4b4) Tff7b72constTb4b4b4;
Tff7b72const Te6edf3BytesTff7b72& Td2a8fflink_idTb4b4b4(Tb4b4b4) Tff7b72constTb4b4b4;
Tff7b72const Te6edf3BytesTff7b72& Td2a8ffhashTb4b4b4(Tb4b4b4) Tff7b72constTb4b4b4;
Tffa657uint16_t Td2a8ffmtuTb4b4b4(Tb4b4b4) Tff7b72constTb4b4b4;
Te6edf3TypeTff7b72:Tff7b72:Te6edf3LinkTff7b72:Tff7b72:Te6edf3status Td2a8ffstatusTb4b4b4(Tb4b4b4) Tff7b72constTb4b4b4;
Tffa657double Td2a8ffestablishment_timeoutTb4b4b4(Tb4b4b4) Tff7b72constTb4b4b4;
Tffa657uint16_t Td2a8ffestablishment_costTb4b4b4(Tb4b4b4) Tff7b72constTb4b4b4;
Tffa657uint8_t Td2a8fftraffic_timeout_factorTb4b4b4(Tb4b4b4) Tff7b72constTb4b4b4;
Tffa657double Td2a8ffrequest_timeTb4b4b4(Tb4b4b4) Tff7b72constTb4b4b4;
Tffa657double Td2a8fflast_inboundTb4b4b4(Tb4b4b4) Tff7b72constTb4b4b4;
Te6edf3stdTff7b72:Tff7b72:Te6edf3setTff7b72<Te6edf3RequestReceiptTff7b72>Tff7b72& Te6edf3pending_requestsTb4b4b4(Tb4b4b4) Tff7b72constTb4b4b4;
Te6edf3TypeTff7b72:Tff7b72:Te6edf3LinkTff7b72:Tff7b72:Te6edf3teardown_reason Td2a8ffteardown_reasonTb4b4b4(Tb4b4b4) Tff7b72constTb4b4b4;
Tffa657bool Td2a8ffinitiatorTb4b4b4(Tb4b4b4) Tff7b72constTb4b4b4;
T8b949e// setters
Tffa657void Td2a8ffdestinationTb4b4b4(Tff7b72const Te6edf3DestinationTff7b72& Te6edf3destinationTb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffattached_interfaceTb4b4b4(Tff7b72const Te6edf3InterfaceTff7b72& Te6edf3interfaceTb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffestablishment_timeoutTb4b4b4(Tffa657double Te6edf3timeoutTb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffestablishment_costTb4b4b4(Tffa657uint16_t Te6edf3costTb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffrequest_timeTb4b4b4(Tffa657double Te6edf3timeTb4b4b4)Tb4b4b4;
Tffa657void Td2a8fflast_inboundTb4b4b4(Tffa657double Te6edf3timeTb4b4b4)Tb4b4b4;
Tffa657void Td2a8fflast_outboundTb4b4b4(Tffa657double Te6edf3timeTb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffincrement_txTb4b4b4(Tb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffincrement_txbytesTb4b4b4(Tffa657uint16_t Te6edf3bytesTb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffstatusTb4b4b4(Te6edf3TypeTff7b72:Tff7b72:Te6edf3LinkTff7b72:Tff7b72:Te6edf3status Te6edf3statusTb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffmtuTb4b4b4(Tffa657uint16_t Te6edf3mtuTb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffmodeTb4b4b4(Te6edf3RNSTff7b72:Tff7b72:Te6edf3TypeTff7b72:Tff7b72:Te6edf3LinkTff7b72:Tff7b72:Te6edf3link_mode Te6edf3modeTb4b4b4)Tb4b4b4;
Te6edf3protectedTff7b72:
Te6edf3stdTff7b72:Tff7b72:Te6edf3shared_ptrTff7b72<Te6edf3LinkDataTff7b72> Te6edf3_objectTb4b4b4;
Tb4b4b4}Tb4b4b4;
Tb4b4b4}
Served by rngit 1.4.2 - Generated in 0.04s